package com.java.thread.simple;

/**
 * @author ShaZhengBo
 * @datetime create:2016年10月28日下午3:52:19
 * @updatetime :
 * @updateauthor:
 * @category:让步线程
 * @describe:
 * 
 *            <pre>
 * 如果你知道run( )方法中已经完成了所需的工作，你可以给线程调度机制一个暗示：你的
 * 工作已经做得差不多了，可以让别的线程使用处理器了。这个暗示将通过调用yield( )
 * 方法的形式来作出
 *            </pre>
 */
public class SimpleThread extends Thread {

	private int countDown = 5;
	private static int threadCount = 0;

	public SimpleThread() {
		super("" + ++threadCount);
		start();
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "#" + getName() + ":" + countDown;
	}

	@Override
	public void run() {
		super.run();
		while (true) {
			System.out.println(this);
			if (--countDown == 0)
				return;
			yield();//让步
		}
	}

}
